The present invention relates generally to electronic circuits. More particularly, the present invention relates to maintaining network synchronization when communicating on multiple networks having asynchronous clocks.
As communications technology continues to advance, greater numbers and additional types of devices are being networked together. Additionally, as the degree of internetworking continues to increase, it is desirable that a device have the capability to be linked with multiple networks. In a consumer electronics environment, for example, a first network might comprise audio electronic components and a second network might comprise a personal computer and peripherals. It may be desirable for the personal computer to be linked with the first network, as well as the second network, so that the personal computer may, for example, transfer audio data to the audio electronic components for playback.
Different networks may or may not be synchronized with each other. For example, the Bluetooth wireless communications protocol provides for simultaneous asynchronous networks (referred to as “piconets”) with overlapping coverage area. FIG. 1 is a simplified diagram illustrating devices networked in multiple piconets under the Bluetooth protocol. A first piconet 101 is comprised of devices 103, 105, 107, and 109. A second piconet 111 is comprised of devices 109, 113, and 115. A third piconet 117 is comprised of devices 115, 119, and 121. As can be seen, device 109 participates in piconets 101 and 111. Also, device 115 participates in piconets 111 and 117.
Each piconet in the Bluetooth protocol has a network clock that is used for synchronizing and scheduling transmissions. Although the network clocks of respective piconets operate at the same frequency, they are not synchronized. Thus, for example, the network clock of piconet 101 will have an offset and drift from the network clock of piconet 111. Because the network clocks of respective piconets are not synchronized, a device linked to multiple piconets must synchronize with multiple asynchronous network clocks of the various piconets. For example, the device 115 must synchronize with the network clock of piconet 111, and must also synchronize with the network clock of piconet 117.